
#include "threadpool.hpp"
#include <functional>
#include "Log.hpp"
using namespace ThreadPoolModule;

using func_t=std::function<void()>;

void DownLoad()
{
    LOG(LogLevel::INFO)<<"我是一个下载任务...";
}
int main()
{
    //单例模式
    int count=10;
    while(count--)
    {
        sleep(1);
        ThreadPool<func_t>::GetInstance()->Enque(DownLoad);
    }
    
    ThreadPool<func_t>::GetInstance()->Stop();
    ThreadPool<func_t>::GetInstance()->Join();



    //线程池使用
    // ThreadPool<int>* tp=new ThreadPool<int>();
    // tp->Start();
    // int count=10;
    // while(count--)
    // {
    //     sleep(1);
    //     tp->Enque(1);
    // }
    // tp->Stop();
    // tp->Join();

    sleep(2);

    return 0;
}